// 对象结构转字节数组互转demo
#ifndef __XJ_OBJECT_CO_BYTES_DEMO_H__
#define __XJ_OBJECT_CO_BYTES_DEMO_H__

#include "object/object_co_bytes.h"

#ifdef __cplusplus
extern "C" {
#endif


/*
学校
    学校名
    班级数
    班级列表
班级
    班级名
    学生数
    学生列表
学生
    学生名
    排名
    前两个爱好ID列表
爱好分类列表
    爱好ID
    爱好名称
*/

typedef struct _s_hobby
{
    int32_t id;
    char    name[32];
} s_hobby;

typedef struct _s_hobby_list
{
    int32_t count;
    s_hobby *hobby_list;
} s_hobby_list;

typedef struct _s_student
{
    char     name[32];
    int32_t  rank;
    int32_t  hobby_arr[2];
} s_student;


typedef struct _s_class
{
    char       class_name[32];
    uint16_t   student_size;
    s_student *student_list;
} s_class;

typedef struct _s_school
{
    char      school_name[16];
    uint8_t   class_count;
    s_class  *class_list;
} s_school;

typedef struct _msg_head
{
    int32_t code;
    int32_t id;
} msg_head;

typedef struct _msg_login_req
{
    msg_head head;
    char    name[32];
    char    password[32];
} msg_login_req;

typedef struct _msg_login_res
{
    msg_head head;
    char    token[32];
} msg_login_res;



int test_object_co_bytes();
#ifdef __cplusplus
}
#endif

#endif
